package com.glialsoft.persistencia.daos;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.naming.InitialContext;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.PersistenceException;
import javax.persistence.Query;
import javax.sql.DataSource;

import com.glialsoft.negocio.dtos.Historia_ClinicaDTO;
import com.glialsoft.negocio.dtos.Historia_PsicologicaDTO;
import com.glialsoft.negocio.dtos.Historia_SocialDTO;
import com.glialsoft.negocio.dtos.PacienteDTO;
import com.glialsoft.persistencia.entidades.HistoriasSociles;
import com.glialsoft.persistencia.entidades.Usuario;

@Stateless
@LocalBean
public class HistoriaSocialDAO {

	@PersistenceContext(unitName = "glialconect")
	 private EntityManager em;
	
	private DataSource ds = null;  
     private Connection con = null;  
	 private  Statement stmt = null;  
	 private  InitialContext ic;
	
	 
	 
	 
	 
	 
	 public List<HistoriasSociles> listaHistorias(int idPaciente){
		 List<HistoriasSociles> listaHistoria = new ArrayList<HistoriasSociles>();
	
				
				try {
					String sql = "SELECT h FROM  HistoriasSociles h WHERE h.idPaciente="+idPaciente;
					
					Query consulta = em.createQuery(sql);
					listaHistoria = consulta.getResultList();
					
				} catch (PersistenceException e) {
					e.printStackTrace();
		
				
				}
		 
		 
		 return listaHistoria;
		 
	 }
		 
		 
	 
	
	public void registrarHistoria(Historia_SocialDTO historial_socialDTO){
		System.out.println("--Registro historia social--");
		try {   
		String exeSQL="INSERT INTO historias_sociles  (estrato,localidad,tipo_eps,antecedentes,id_paciente) " +
				"VALUES ('"+historial_socialDTO.getEstrato()+"','"+historial_socialDTO.getLocalidad()+"','"+historial_socialDTO.getTipo_eps()+"','"+historial_socialDTO.getAntecedentes()+"',"+historial_socialDTO.getId_paciente()+")";
			
			 ic = new InitialContext();  
			 ds = (DataSource) ic.lookup("java:jboss/postgresDS");  
			 
			 
			 con = ds.getConnection();  
			 stmt = con.createStatement();  
			
			 
			 stmt.execute(exeSQL);
			  System.out.println("***Registro completado*** ");
			
			 
			 
			 
		 
			 stmt.close();  
			 } catch (Exception e) {  
			
				 e.printStackTrace();
			 } finally {  
				 
			 if (con != null) {  
			   
				 try {
					con.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					 e.printStackTrace();
				}  
			       
			 
			 }  
			 }  
	
	
	}
	
	
}
	
